import requests

# TheSportsDB API 的基础 URL
BASE_URL = "https://www.thesportsdb.com/api/v1/json/3/"

def get_all_sports():
    """
    获取所有体育项目的信息
    :return: 包含所有体育项目信息的列表
    """
    # 构建获取所有体育项目信息的 API 请求 URL
    url = f"{BASE_URL}all_sports.php"
    try:
        # 发送 HTTP GET 请求
        response = requests.get(url)
        # 检查响应状态码，如果不是 200 则抛出异常
        response.raise_for_status()
        # 将响应内容解析为 JSON 格式
        data = response.json()
        # 从 JSON 数据中提取体育项目信息列表
        sports = data.get('sports', [])
        return sports
    except requests.RequestException as e:
        print(f"请求出错: {e}")
        return []
    except ValueError as e:
        print(f"解析 JSON 数据出错: {e}")
        return []

def display_sports(sports):
    """
    显示所有体育项目的详细信息
    :param sports: 包含所有体育项目信息的列表
    """
    if not sports:
        print("未找到任何体育项目信息。")
    else:
        for sport in sports:
            sport_id = sport.get('idSport', '未知 ID')
            sport_name = sport.get('strSport', '未知体育项目')
            sport_format = sport.get('strFormat', '未知比赛形式')
            sport_thumb = sport.get('strSportThumb', '无缩略图链接')
            sport_thumb_bw = sport.get('strSportThumbBW', '无黑白缩略图链接')
            sport_icon_green = sport.get('strSportIconGreen', '无绿色图标链接')
            sport_description = sport.get('strSportDescription', '无描述信息')

            print(f"体育项目 ID: {sport_id}")
            print(f"体育项目名称: {sport_name}")
            print(f"比赛形式: {sport_format}")
            print(f"缩略图链接: {sport_thumb}")
            print(f"黑白缩略图链接: {sport_thumb_bw}")
            print(f"绿色图标链接: {sport_icon_green}")
            print(f"项目描述: {sport_description}")
            print("-" * 50)

if __name__ == "__main__":
    # 调用函数获取所有体育项目信息
    all_sports = get_all_sports()
    # 调用函数显示体育项目信息
    display_sports(all_sports)